unit AddM;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TAddMForm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    m: TEdit;
    Eintragen: TButton;
    Abbrechen: TButton;
    procedure mKeyPress(Sender: TObject; var Key: Char);
    procedure AbbrechenClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EintragenClick(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
  public
  ZuErbringendeLeistung, ErbrachteLeistung: string;
  end;

implementation

{$R *.dfm}

procedure TAddMForm.mKeyPress(Sender: TObject; var Key: Char);
var
   i: Byte;
begin
   if not (Key in [#48..#57,#8,#44,#46]) then
      Key := #0;
   if Key = #46 then
      Key := #44;
   if Key = #44 then
      for i:=1 to Length(M.Text) do
         if M.Text[i] = #44 then
            Key := #0;
end;

procedure TAddMForm.AbbrechenClick(Sender: TObject);
begin
   Close;
end;

procedure TAddMForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   m.Clear;
end;

procedure TAddMForm.EintragenClick(Sender: TObject);
var
   i: Byte;
begin
   If (m.Text = '') or (m.Text = '0') then
      Close
   else begin
      for i:=1 to Length(ZuErbringendeLeistung) do
      begin
         if ZuErbringendeLeistung[i] = #46 then
            ZuErbringendeLeistung[i] := #44;
      end;
      if StrToFloat(ZuErbringendeLeistung) >
         StrToFloat(m.Text) then
      begin
         ShowMessage('Achtung !!!'
                     + #10#13 + 'Der Teilnehmer hat mit dem Eingegebenen Wert die geforderte Leistung nicht erbracht.!');
         Close;
      end else begin
         ErbrachteLeistung := m.Text + ' m';
         Close;
      end;
   end;
   m.SetFocus;
end;

procedure TAddMForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_Return then
    EintragenClick(nil);
end;

procedure TAddMForm.FormCreate(Sender: TObject);
begin
  ZuErbringendeLeistung := '';
end;

end.
